// default package
// Generated 23-mar-2015 17:46:53 by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * CrsSolicitudes generated by hbm2java
 */
@Entity
@Table(name = "crs_solicitudes", schema = "public")
public class CrsSolicitudes implements java.io.Serializable {

	private long solicitudid;
	private Users users;
	private CrsPerfilUsuario crsPerfilUsuario;
	private Date fechalta;
	private short situacionid;
	private String observaciones;
	private String motivo;
	private String cupondesc;
	private String creadorperfil;
	private String compartir;
	private Set crsSesioneses = new HashSet(0);
	private Set crsCobroses = new HashSet(0);
	private Set crsMensajesInformes = new HashSet(0);
	private Set crsInformeses = new HashSet(0);

	public CrsSolicitudes() {
	}

	public CrsSolicitudes(long solicitudid, Users users,
			CrsPerfilUsuario crsPerfilUsuario, Date fechalta,
			short situacionid, String creadorperfil, String compartir) {
		this.solicitudid = solicitudid;
		this.users = users;
		this.crsPerfilUsuario = crsPerfilUsuario;
		this.fechalta = fechalta;
		this.situacionid = situacionid;
		this.creadorperfil = creadorperfil;
		this.compartir = compartir;
	}

	public CrsSolicitudes(long solicitudid, Users users,
			CrsPerfilUsuario crsPerfilUsuario, Date fechalta,
			short situacionid, String observaciones, String motivo,
			String cupondesc, String creadorperfil, String compartir,
			Set crsSesioneses, Set crsCobroses, Set crsMensajesInformes,
			Set crsInformeses) {
		this.solicitudid = solicitudid;
		this.users = users;
		this.crsPerfilUsuario = crsPerfilUsuario;
		this.fechalta = fechalta;
		this.situacionid = situacionid;
		this.observaciones = observaciones;
		this.motivo = motivo;
		this.cupondesc = cupondesc;
		this.creadorperfil = creadorperfil;
		this.compartir = compartir;
		this.crsSesioneses = crsSesioneses;
		this.crsCobroses = crsCobroses;
		this.crsMensajesInformes = crsMensajesInformes;
		this.crsInformeses = crsInformeses;
	}

	@Id
	@Column(name = "solicitudid", unique = true, nullable = false)
	public long getSolicitudid() {
		return this.solicitudid;
	}

	public void setSolicitudid(long solicitudid) {
		this.solicitudid = solicitudid;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "creadorid", nullable = false)
	public Users getUsers() {
		return this.users;
	}

	public void setUsers(Users users) {
		this.users = users;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "perfiluserid", nullable = false)
	public CrsPerfilUsuario getCrsPerfilUsuario() {
		return this.crsPerfilUsuario;
	}

	public void setCrsPerfilUsuario(CrsPerfilUsuario crsPerfilUsuario) {
		this.crsPerfilUsuario = crsPerfilUsuario;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "fechalta", nullable = false, length = 29)
	public Date getFechalta() {
		return this.fechalta;
	}

	public void setFechalta(Date fechalta) {
		this.fechalta = fechalta;
	}

	@Column(name = "situacionid", nullable = false)
	public short getSituacionid() {
		return this.situacionid;
	}

	public void setSituacionid(short situacionid) {
		this.situacionid = situacionid;
	}

	@Column(name = "observaciones", length = 500)
	public String getObservaciones() {
		return this.observaciones;
	}

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

	@Column(name = "motivo", length = 800)
	public String getMotivo() {
		return this.motivo;
	}

	public void setMotivo(String motivo) {
		this.motivo = motivo;
	}

	@Column(name = "cupondesc", length = 15)
	public String getCupondesc() {
		return this.cupondesc;
	}

	public void setCupondesc(String cupondesc) {
		this.cupondesc = cupondesc;
	}

	@Column(name = "creadorperfil", nullable = false, length = 9)
	public String getCreadorperfil() {
		return this.creadorperfil;
	}

	public void setCreadorperfil(String creadorperfil) {
		this.creadorperfil = creadorperfil;
	}

	@Column(name = "compartir", nullable = false)
	public String getCompartir() {
		return this.compartir;
	}

	public void setCompartir(String compartir) {
		this.compartir = compartir;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "crsSolicitudes")
	public Set getCrsSesioneses() {
		return this.crsSesioneses;
	}

	public void setCrsSesioneses(Set crsSesioneses) {
		this.crsSesioneses = crsSesioneses;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "crsSolicitudes")
	public Set getCrsCobroses() {
		return this.crsCobroses;
	}

	public void setCrsCobroses(Set crsCobroses) {
		this.crsCobroses = crsCobroses;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "crsSolicitudes")
	public Set getCrsMensajesInformes() {
		return this.crsMensajesInformes;
	}

	public void setCrsMensajesInformes(Set crsMensajesInformes) {
		this.crsMensajesInformes = crsMensajesInformes;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "crsSolicitudes")
	public Set getCrsInformeses() {
		return this.crsInformeses;
	}

	public void setCrsInformeses(Set crsInformeses) {
		this.crsInformeses = crsInformeses;
	}

}
